﻿* Encoding: UTF-8.
/* Jones / Cowan Pro-Democratic, but Not Anti-Authoritarian? Understanding Ambivalent Attitudes Toward Regimes
/* Experiment

use all.
CACHE.
EXECUTE.

if q116_1 = 1 and q116_2 = 1 passed = 1. 

/* Ambivalence measures

if (q16_1 LE 2) and (q16_4 LE 2) quadrant = 1.
if (q16_1 GE 3) and (q16_4 LE 2) quadrant = 2.
if (q16_1 GE 3) and (q16_4 GE 3) quadrant = 3.
if (q16_1 LE 2) and (q16_4 GE 3) quadrant = 4.

value labels
    quadrant
    1 'Cynics'
    2 'Pure Authoritarians'
    3 'Ambivalents'
    4 'Pure Democrats'.
execute.

/* compute deviation
    
    compute deviation14 = ((q16_1 + q16_4)/2) - (abs(q16_1 - q16_4)).

/* binary ambivalent = 1 not ambivalent = 0
if quadrant = 3 binaryambivalent = 1.
if quadrant ne 3 binaryambivalent = 0.

value labels
    binaryambivalent
    1 'Ambivalent'
    0 'Not ambivalent'.
Execute.


variable labels
       deviation14 'Continuous Ambivalence Measure'.
Execute.

if condition = "control" conditionN = 6.
if condition = "info" conditionN = 1.
if condition = "authority" conditionN = 2.
 
Value labels
    conditionN
    6 'Control'
    1 'Knowledge Treatment'
    2 'Order First Treatment'.
Execute.

/* convert demographic variables
 
RECODE age (CONVERT) INTO ageN.
RECODE education (CONVERT) INTO educationN.
RECODE hhi (CONVERT) INTO hhiN.
recode gender (CONVERT) INTO genderN.
 * recode ethnicity (CONVERT) INTO ethnicityN.
recode political_party (CONVERT) INTO political_partyN.
recode region (CONVERT) INTO regionN.
recode hispanic (CONVERT) INTO hispanicN.

missing values ageN (-3105).
missing values hhiN (-3105).
missing values educationN (-3105).
missing values hispanicN (15).
missing values political_partyN (7).

/* categorize ethnicity

if q117 = 1 EthnicitySR = 4.
if q117 = 2 EthnicitySR = 4.
if q117 = 3 EthnicitySR = 2.
if q117 = 4 EthnicitySR = 3.
if q117 = 5 EthnicitySR = 4.
if q117 = 6 EthnicitySR = 4.
if q117 = 7 EthnicitySR = 4.
if q117 = 8 EthnicitySR = 1.
if q117 = 9 EthnicitySR = 4.

value labels
    EthnicitySR
    1 'White or Caucasian SR'
    2 'Black or African American SR'
    3 'Hispanic or Latino SR'
    4 'Other or mixed race SR'.
Execute.

if EthnicitySR = 1 WhiteD = 1.
if EthnicitySR ne 1 WhiteD = 0.
if EthnicitySR = 2 BlackD = 1.
if EthnicitySR ne 2 BlackD = 0.
if EthnicitySR = 3 HispanicD = 1.
if EthnicitySR ne 3 HispanicD = 0.
if EthnicitySR = 4 OtherRaceD = 1.
if EthnicitySR ne 4 OtherRaceD = 0.

if q35 < 6 polview = q35.
if q36 < 5 dissatisfied = q36.

if q34 < 6 religiosity = 1.
if q34 = 6 or q34 = 7 or q34 = 8 religiosity = 0.

value labels
    religiosity
    0 'Not religious'
    1 'Identifies with a religion'.
Execute.

compute polengagement = mean (q25_1, q25_2, q25_3,q25_4, q25_5, q25_6, q25_7).
compute polinterest = q24_1.

compute travel = q23.
   

/* compute democratic backslide index

compute backslideindex = mean(q26_1, q26_3,q26_4,q26_5, q26_6, q26_7, q26_8, q26_9).


/* openmindedness

    if q21_2 = 1 q21_2_r = 7.
    if q21_2 = 2 q21_2_r = 6.
    if q21_2 = 3 q21_2_r = 5.
    if q21_2 = 4 q21_2_r = 4.
    if q21_2 = 5 q21_2_r = 3.
    if q21_2 = 6 q21_2_r = 2.
    if q21_2 = 7 q21_2_r = 1.

/* q22_2 reverse  I often ‘tune out’ political messages I disagree with.

    if q22_2 = 1 q22_2_r = 7.
    if q22_2 = 2 q22_2_r = 6.
    if q22_2 = 3 q22_2_r = 5.
    if q22_2 = 4 q22_2_r = 4.
    if q22_2 = 5 q22_2_r = 3.
    if q22_2 = 6 q22_2_r = 2.
    if q22_2 = 7 q22_2_r = 1.

 *  I believe it is a waste of time to pay attention to certain political ideas.

 if q22_3 = 1 q22_3_r = 7.
    if q22_3 = 2 q22_3_r = 6.
    if q22_3 = 3 q22_3_r = 5.
    if q22_3 = 4 q22_3_r = 4.
    if q22_3 = 5 q22_3_r = 3.
    if q22_3 = 6 q22_3_r = 2.
    if q22_3 = 7 q22_3_r = 1.

 *  I have no patience for political arguments I disagree with.
 
    if q22_5 = 1 q22_5_r = 7.
    if q22_5 = 2 q22_5_r = 6.
    if q22_5 = 3 q22_5_r = 5.
    if q22_5 = 4 q22_5_r = 4.
    if q22_5 = 5 q22_5_r = 3.
    if q22_5 = 6 q22_5_r = 2.
    if q22_5 = 7 q22_5_r = 1.

compute openmind_21 = mean (q21_1, q21_2_r, q21_3, q21_4, q21_5).

compute polopenmind_22 = mean( q22_1, q22_2_r, q22_3_r, q22_4, q22_5_r, q22_6).

if q34 = 1 ChristianD = 1.
if q34 NE 1 ChristianD = 0.
if q34 = 2 MuslimD = 1.
if q34 NE 2 MuslimD = 0.
if q34 = 3 BuddhistD = 1.
if q34 NE 3 BuddhistD = 0.
if q34 = 4 JewishD = 1.
if q34 NE 4 JewishD = 0.
if q34 = 5 HinduD = 1.
if q34 NE 5 HinduD = 0.
if q34 = 6 AtheistD = 1.
if q34 NE 6 AtheistD = 0.
if q34 = 7 AgnosticD = 1.
if q34 NE 7 AgnosticD = 0.
if q34 = 8 NonreligiousD = 1.
if q34 NE 8 NonreligiousD = 0.

if (ageN < 25) ageNC = 0.
IF (ageN GE 25 and ageN LE 34) ageNC = 1.
IF (ageN GE 35 and ageN LE 44) ageNC = 2.
IF (ageN GE 45 and ageN LE 64) ageNC = 3.
IF (ageN GE 65 and ageN LE 99) ageNC = 4.
 
value labels
    ageNC
    0 'Age 18 to 24'
    1 'Age 25 to 34'
    2 'Age 35 to 44'
    3 'Age 45 to 64'
    4 'Age 65 to 99'.
Execute.

value labels
    regionN
    1 'Northeast'
    2 'Midwest'
    3 'South'
    4 'West'.
Execute.

value labels
    genderN
    1 'Male'
    2 'Female'.
Execute.

if ageN ge 18 and ageN <= 24 agegroup = 1.
if ageN ge 25 and ageN <= 34 agegroup = 2.
if ageN ge 35 and ageN <= 44 agegroup = 3.
if ageN ge 45 and ageN <= 64 agegroup = 4.
if ageN ge 65 and ageN <= 99 agegroup = 5.

value labels
    agegroup
    1 'Age 18-24'
    2 'Age 25-34'
    3 'Age 35-44'
    4 'Age 45-64'
    5 'Age 65-99'.
Execute.


/*orer first value orientation measures
    if q123_3 = 1 obedience = 1.
    if q123_3 NE 1 obedience = 0.

    if q120_3 = 1 morerespect = 1.
    if q120_3 = 2 morerespect = 0.
    if q120_3 = 3 morerespect = 0.

   if q122 = 2 security = 1.
   if q122 NE 2 security = 0.

compute orderfirst = mean (obedience, morerespect, security). 
compute orderfirst_add = sum(obedience, morerespect, security).

 * create dummies for groups

    if conditionN = 6 controlD = 1.
    if conditionN NE 6 controlD = 0.
    if conditionN = 2 orderfirstD = 1.
    if conditionN NE 2 orderfirstD = 0.
    if conditionN = 1 informationD = 1.
    if conditionN NE 1 informationD = 0.

/* compute attncheck 

If q4 = 4 attncheck = 1.
if q7 = 1 attncheck = 1.
if q17 = 2 attncheck = 1.

Variable labels
    EthnicitySR 'Ethnicity or Race'
    conditionN 'Treatment condition'
    orderfirstD 'Order first treatment'
    informationD 'Knowledge treatment'
    hhiN 'Income'
    ageN 'Age'
    educationN 'Education'
    genderN 'Female'
    orderfirst 'Order first value orientation'
    religiosity 'Affiliated with a religion'
    travel 'Frequency of international travel'
    polinterest 'Political interest'
    polengagement 'Political engagement'
    polview 'Liberal - Conservative'
    dissatisfied 'Dissatisfied with democracy in US'
    openmind_21 'Perspective-taking'
    polopenmind_22 'Political open-mindedness'
    backslideindex 'Support for backsliding behaviors'
    BlackD 'Black or African American'
    HispanicD 'Hispanic or Latino'
    WhiteD 'White or Caucasian'
    OtherRaceD 'Other or mixed race'
     q26_1 'Announcing curfew'
    q26_2 'Task force'
    q26_3 'Declare emergency'
    q26_4 'Exec orders - gridlock'
    q26_5 'Exec orders - courts overturn'
    q26_6 'Term limit'
    q26_7 'Delay election'
    q26_8 'Tighten media restrictions'
    q26_9 'Restrict protests'.
Execute.

variable level
    ageN hhiN educationN  genderN openmind_21 polopenmind_22 q21_2_r q22_2_r q22_3_r q22_5_r polview dissatisfied religiosity ChristianD MuslimD BuddhistD JewishD HinduD AtheistD AgnosticD NonreligiousD polengagement (SCALE).

/* Appendix C4.

USE ALL. 
COMPUTE filter_$=(attncheck = 1). 
VARIABLE LABELS filter_$ 'attncheck = 1 (FILTER)'. 
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. 
FORMATS filter_$ (f1.0). 
FILTER BY filter_$. 
EXECUTE.

/* 
/* Multinomial logit for quadrants
/* Appendix C4 Model 1

NOMREG quadrant (BASE=LAST ORDER=ASCENDING) BY conditionN 
  /CRITERIA CIN(95) DELTA(0) MXITER(100) MXSTEP(5) CHKSEP(20) LCONVERGE(0) PCONVERGE(0.000001) 
    SINGULAR(0.00000001) 
  /MODEL 
  /STEPWISE=PIN(.05) POUT(0.1) MINEFFECT(0) RULE(SINGLE) ENTRYMETHOD(LR) REMOVALMETHOD(LR) 
  /INTERCEPT=INCLUDE 
  /PRINT=PARAMETER SUMMARY LRT CPS STEP MFI.

/* Appendix C4 Model 2

NOMREG quadrant (BASE=LAST ORDER=ASCENDING) BY conditionN WITH ageN genderN educationN hhiN  polview BlackD HispanicD OtherRaceD
    openmind_21 polopenmind_22 polinterest  orderfirst  dissatisfied travel  polengagement backslideindex   
  /CRITERIA CIN(95) DELTA(0) MXITER(100) MXSTEP(5) CHKSEP(20) LCONVERGE(0) PCONVERGE(0.000001) 
    SINGULAR(0.00000001) 
  /MODEL 
  /STEPWISE=PIN(.05) POUT(0.1) MINEFFECT(0) RULE(SINGLE) ENTRYMETHOD(LR) REMOVALMETHOD(LR) 
  /INTERCEPT=INCLUDE 
  /PRINT=PARAMETER SUMMARY LRT CPS STEP MFI.

 /* Table 4 in paper 
    
REGRESSION
  /MISSING LISTWISE 
  /STATISTICS COEFF OUTS R ANOVA 
  /CRITERIA=PIN(.05) POUT(.10) 
  /NOORIGIN 
  /DEPENDENT deviation14
  /METHOD=ENTER informationD orderfirstD.
 

REGRESSION 
  /MISSING LISTWISE 
  /STATISTICS COEFF OUTS R ANOVA 
  /CRITERIA=PIN(.05) POUT(.10) 
  /NOORIGIN 
  /DEPENDENT deviation14 
  /METHOD=ENTER informationD orderfirstD ageN genderN educationN hhiN  polview WhiteD BlackD HispanicD OtherRaceD
    openmind_21 polopenmind_22 polinterest  orderfirst  dissatisfied travel  polengagement  backslideindex  . 
 

 * /* Appendix C5 Binary Ambivalent measure Logistic Regressions with and without controls
    
 LOGISTIC REGRESSION VARIABLES binaryambivalent 
  /METHOD=ENTER informationD orderfirstD 
  /PRINT=CI(95)
  /CRITERIA=PIN(.05) POUT(.10) ITERATE(20) CUT(.5).


 LOGISTIC REGRESSION VARIABLES binaryambivalent 
  /METHOD=ENTER informationD orderfirstD ageN genderN educationN hhiN   polview BlackD HispanicD OtherRaceD 
    openmind_21 polopenmind_22 polinterest  orderfirst  dissatisfied travel polengagement backslideindex 
     /PRINT=CI(95)
  /CRITERIA=PIN(.05) POUT(.10) ITERATE(20) CUT(.5).
